<?php

namespace JsonLowCode\Traits\Props;

/**
 * 设置组件定位位置
 */
trait HasPosition
{
    /**
     * 设置组件 position 定位
     * @param string $position 'fixed' | 'absolute' | 'relative' 是否js表达式
     * @return $this
     */
    public function position(string $position = 'fixed' | 'absolute' | 'relative'): static
    {
        return $this->prop('position', $position);
    }

    /**
     * 设置组件 position fixed 定位
     * @return $this
     */
    public function fixed(): static
    {
        return $this->position('fixed');
    }

    /**
     * 设置组件 position absolute 定位
     * @return $this
     */
    public function absolute(): static
    {
        return $this->position('absolute');
    }

    /**
     * 设置组件 position relative 定位
     * @return $this
     */
    public function relative(): static
    {
        return $this->position('relative');
    }
}
